package generated1.ManyToMany;

// Generated 9-apr-2009 16.17.55 by Hibernate Tools 3.2.2.GA

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * ApplabsuserOther generated by hbm2java
 */
@Entity
@Table(name = "APPLABSUSER_OTHER", uniqueConstraints = @UniqueConstraint(columnNames = "USER_NAME"))
@SequenceGenerator(name = "ApplabsuserOther_seq", sequenceName = "AAPPLABSUSER_OTHER_SEQ")
public class ApplabsuserOther implements java.io.Serializable {

	private BigDecimal userId;
	private String userName;
	private String userPassword;
	private String userFirstName;
	private String userLastName;
	private String userEmail;
	private Date userCreationDate;
	private Date userModificationDate;
	private Set<Applabsuser> applabsusers = new HashSet<Applabsuser>(0);

	public ApplabsuserOther() {
	}

	public ApplabsuserOther(BigDecimal userId, String userName,
			String userPassword) {
		this.userId = userId;
		this.userName = userName;
		this.userPassword = userPassword;
	}

	public ApplabsuserOther(BigDecimal userId, String userName,
			String userPassword, String userFirstName, String userLastName,
			String userEmail, Date userCreationDate, Date userModificationDate,
			Set<Applabsuser> applabsusers) {
		this.userId = userId;
		this.userName = userName;
		this.userPassword = userPassword;
		this.userFirstName = userFirstName;
		this.userLastName = userLastName;
		this.userEmail = userEmail;
		this.userCreationDate = userCreationDate;
		this.userModificationDate = userModificationDate;
		this.applabsusers = applabsusers;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ApplabsuserOther_seq")
	@Column(name = "USER_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getUserId() {
		return this.userId;
	}

	public void setUserId(BigDecimal userId) {
		this.userId = userId;
	}

	@Column(name = "USER_NAME", unique = true, nullable = false)
	public String getUserName() {
		return this.userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Column(name = "USER_PASSWORD", nullable = false)
	public String getUserPassword() {
		return this.userPassword;
	}

	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}

	@Column(name = "USER_FIRST_NAME")
	public String getUserFirstName() {
		return this.userFirstName;
	}

	public void setUserFirstName(String userFirstName) {
		this.userFirstName = userFirstName;
	}

	@Column(name = "USER_LAST_NAME")
	public String getUserLastName() {
		return this.userLastName;
	}

	public void setUserLastName(String userLastName) {
		this.userLastName = userLastName;
	}

	@Column(name = "USER_EMAIL")
	public String getUserEmail() {
		return this.userEmail;
	}

	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "USER_CREATION_DATE", length = 7)
	public Date getUserCreationDate() {
		return this.userCreationDate;
	}

	public void setUserCreationDate(Date userCreationDate) {
		this.userCreationDate = userCreationDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "USER_MODIFICATION_DATE", length = 7)
	public Date getUserModificationDate() {
		return this.userModificationDate;
	}

	public void setUserModificationDate(Date userModificationDate) {
		this.userModificationDate = userModificationDate;
	}

	@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
	@JoinTable(name = "APP_CHILD", joinColumns = { @JoinColumn(name = "PARENT_ID", updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ID", updatable = false) })
	public Set<Applabsuser> getApplabsusers() {
		return this.applabsusers;
	}

	public void setApplabsusers(Set<Applabsuser> applabsusers) {
		this.applabsusers = applabsusers;
	}

}
